﻿<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <!--DXMETADATA start type="MetaCharset" --><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"><!--DXMETADATA end-->
    <meta http-equiv="X-UA-Compatible" value="IE=9" />

    <!--DXMETADATA start type="Literal" condition="helpversion:value=3" value="<meta name=""Microsoft.Help.SelfBranded"" content=""true"" />" --><!--DXMETADATA end-->
    <!--DXMETADATA start type="ItemTitle" format="<title>%%ProjectTitle%% - %%ItemTitle%%</title>" --><title>SpreadJS ReadMe - Release Notes for Version 12.1.0</title><!--DXMETADATA end-->
    <!--DXMETADATA start type="ItemTitle" format="<meta name=""Title"" content=""%%ProjectTitle%% - %%ItemTitleNoQuotes%%""/>" --><meta name="Title" content="SpreadJS ReadMe - Release Notes for Version 12.1.0"/><!--DXMETADATA end-->
    
    <!--DXMETADATA start type="PackageLink" packagename="jquery" filetype="script" firstlinkattributes="id=""mshs_support_script"""--><script src="template/packages/jquery/script/default/jquery-1.11.3.min.js" type="text/javascript" id="mshs_support_script"></script><!--DXMETADATA end-->
    <!--DXMETADATA start type="PackageLink" packagename="jquery-ui" filetype="script"--><script src="template/packages/jquery-ui/script/default/jquery-ui-1.11.4.min.js" type="text/javascript"></script><!--DXMETADATA end-->
    <!--DXMETADATA start type="PackageLink" packagename="jquery-ui" filetype="css"--><link rel="stylesheet" type="text/css" href="template/packages/jquery-ui/css/default/jquery-ui-1.11.4.css"></link><!--DXMETADATA end-->
    <!--DXMETADATA start type="TemplateSettingsJson" format="<script type=""text/javascript"">var Innovasys=(Innovasys||{});$.extend(true,Innovasys,{settings:{isHideBodyDuringLoadDisabled:true,dynamictoc:{isEnabled:true},inthistopic:{isSupported:true},dynamicstyles:{isDynamicWordWrapEnabled:true}}},{settings:%%TemplateSettingsJson%%});</script>" --><script type="text/javascript">var Innovasys=(Innovasys||{});$.extend(true,Innovasys,{settings:{isHideBodyDuringLoadDisabled:true,dynamictoc:{isEnabled:true},inthistopic:{isSupported:true},dynamicstyles:{isDynamicWordWrapEnabled:true}}},{settings:{"dynamictoc":{"initialNodeId":"n7","initialNodeContainer":"c0","isResizable":true},"inthistopic":{"isEnabled":true},"currentLocale":"-","isFrameless":true,"navigationKind":"inpage","versions":{"locale":{"currentId":"-"}}}});</script><!--DXMETADATA end-->
    <!--DXMETADATA start type="PackageLink" packagename="light" filetype="css"--><link rel="stylesheet" type="text/css" href="template/packages/light/css/dynamic-toc.css"></link><!--DXMETADATA end-->
    <!--DXMETADATA start type="Synopsis" StripHtmlTags="True" MaxLength="250" format="<meta name=""Description"" content=""%%Synopsis%%"" />"--><meta name="Description" content="Enhancements from the Previous Release

The following features have been added with this version of the product." /><!--DXMETADATA end-->
    
    <!--DXMETADATA start type="PackageLink" packagename="plugins-topics" filetype="css"--><link rel="stylesheet" type="text/css" href="template/packages/plugins-topics/css/default/jquery-plugins.css"></link><!--DXMETADATA end-->
    <!--DXMETADATA start type="PackageLink" packagename="core-topics" filetype="css" firstlinkattributes=" data-mshv2-stylesheet=""/template/packages/core-topics/topics.mshv2.css"" data-mshv1-stylesheet=""/template/packages/core-topics/topics.mshv1.css"" data-responsive-mobile=""template/packages/core-topics/topics.mobile.css"" data-responsive-tablet=""template/packages/core-topics/topics.tablet.css"""--><link rel="stylesheet" type="text/css" href="template/packages/core-topics/css/topics.css"  data-mshv2-stylesheet="/template/packages/core-topics/topics.mshv2.css" data-mshv1-stylesheet="/template/packages/core-topics/topics.mshv1.css" data-responsive-mobile="template/packages/core-topics/topics.mobile.css" data-responsive-tablet="template/packages/core-topics/topics.tablet.css"></link><!--DXMETADATA end-->
    <!--DXMETADATA start type="PackageLink" packagename="plugins-topics" filetype="script"--><script src="template/packages/plugins-topics/script/default/jquery-plugins.min.js" type="text/javascript"></script><!--DXMETADATA end-->
    <!--DXMETADATA start type="PackageLink" packagename="core-topics" filetype="script"--><script src="template/packages/core-topics/script/topics.min.js" type="text/javascript"></script><!--DXMETADATA end-->
    
    <!--DXMETADATA start type="TopicId" format="<meta name=""Microsoft.Help.Id"" content=""%%TopicId%%""/>" --><meta name="Microsoft.Help.Id" content="08babdc2-2cbc-4043-b291-71ceb1552fe8"/><!--DXMETADATA end-->
    <!--DXMETADATA start type="TocParentId" format="<meta name=""Microsoft.Help.TocParent"" content=""%%TocParentId%%""/>" --><meta name="Microsoft.Help.TocParent" content="80753e0a-efcf-407b-89ce-337c2fd3b27e"/><!--DXMETADATA end-->
    <!--DXMETADATA start type="TocOrdinal" format="<meta name=""Microsoft.Help.TocOrder"" content=""%%TocOrdinal%%""/>" --><meta name="Microsoft.Help.TocOrder" content="3"/><!--DXMETADATA end-->
    <meta name="Microsoft.Help.F1" content=""/>
    <meta name="Microsoft.Help.ContentType" content="Concepts" />
    <!--DXMETADATA start type="MshvKeywords" condition="helpversion:value=3" --><!--DXMETADATA end-->
    <!--DXMETADATA start type="MshvMetaTags" condition="helpversion:value=3" --><!--DXMETADATA end-->
    <!--DXMETADATA start type="Help3CatalogLocale" condition="helpversion:value=3" format="<meta name=""Microsoft.Help.Locale"" content=""%%Help3CatalogLocale%%"" />"--><!--DXMETADATA end-->
    <!--DXMETADATA start type="Help3CatalogLocale" condition="helpversion:value=3" format="<meta name=""Microsoft.Help.TopicLocale"" content=""%%Help3CatalogLocale%%"" />"--><!--DXMETADATA end-->
    <!--DXMETADATA start type="Stylesheets" --><!--DXMETADATA end-->
    <!--DXMETADATA start type="StylePropertyValues" format="<style>%%StylePropertyValues%%</style>" --><style>.i-is-new .i-page-title-text::after, ul#i-dt-root li.i-is-new>a::after { content: "New" }
</style><!--DXMETADATA end-->
    <!--DXMETADATA start type="Scripts" --><!--DXMETADATA end-->
    <!--DXMETADATA start type="DesignTime"--><!--DXMETADATA end-->
    <!--DXMETADATA start type="Scrap" condition="communityenabled" name="_COMMUNITY_PROPERTIES" --><!--DXMETADATA end -->
    <!--DXMETADATA start type="CustomHeadContent" --><link rel="stylesheet" type="text/css" href="template/packages/core-web/css/SP.css">
<script type="text/javascript">
var currentHeader = function() {
    return "spjsreadme";
}
</script>
<script src="template/packages/core-web/script/topNavigation.js"></script>
<script async="" src="https://www.googletagmanager.com/gtm.js?id=GTM-WT462SJ"></script>
<script>
        (function (w, d, s, l, i) {
            w[l] = w[l] || [];
            w[l].push({
                'gtm.start': new Date().getTime()
                , event: 'gtm.js'
            });
            var f = d.getElementsByTagName(s)[0]
                , j = d.createElement(s)
                , dl = l != 'dataLayer' ? '&l=' + l : '';
            j.async = true;
            j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
            f.parentNode.insertBefore(j, f);
        })(window, document, 'script', 'dataLayer', 'GTM-WT462SJ');
    </script>

<!--DXMETADATA end-->
</head>

<body>
    <div id="i-before-header-content" class="i-before-header-content">
        
    </div>

    <div id="i-header-container">
        <div id="i-header-content" class="i-header-content i-content-width-container">
            <!--DXMETADATA start type="LogoImage" --><!--DXMETADATA end-->
            <div class="i-project-title"><!--DXMETADATA start type="ProjectTitle" -->SpreadJS ReadMe<!--DXMETADATA end--></div>
            <div class="i-search-container">
                <!--DXMETADATA start type="outputfileextension" format="<form action=""websearch%%outputfileextension%%"">" --><form action="websearch.html"><!--DXMETADATA end-->
                <input id="i-search" name="query"/>
                <input type="submit" id="i-search-button" value=""/>
                <!--DXMETADATA start type="Literal" value="</form>" --></form><!--DXMETADATA end-->
            </div>
            <!--DXMETADATA start type="outputfileextension" format="<a id=""i-index-button"" href=""webindex%%outputfileextension%%""></a>" --><a id="i-index-button" href="webindex.html"></a><!--DXMETADATA end-->
        </div>
    </div>
    
    <div class="i-content-width-container"><div class="i-busy-overlay"></div></div>

    <div id="i-breadcrumbs-outer-container" class="i-content-width-container"><!--DXMETADATA start type="Breadcrumbs" scrap="_BREADCRUMBS" --><div class="i-breadcrumbs-container">
<a href="readme.html">ReadMe</a>
 / <a href="rnotes.html">Release Notes</a>
 / Release Notes for Version 12.1.0</div><!--DXMETADATA end --></div>

    

    <div id="i-actions-outer-container" class="i-content-width-container">
        <div id="i-actions-container">
            <div id="i-actions-content" class="i-fixed-to-top">
                <!-- Spacing --> <span class="i-toggle-all-sections i-function-link">
                <label class="i-collapse-all"><!--DXMETADATA start type="Phrase" name="COLLAPSE_ALL" -->Collapse All<!--DXMETADATA end--></label>
                <label class="i-expand-all" style="display: none;"><!--DXMETADATA start type="Phrase" name="EXPAND_ALL" -->Expand All<!--DXMETADATA end--></label>
            </span><!--DXMETADATA start type="Literal" condition="communityenabled" value="%%scrap:name=_COMMUNITY_DROPDOWN%%" --><!--DXMETADATA end -->
                <div class="i-in-this-topic-container">
                    <span class="i-action-group-heading"><!--DXMETADATA start type="Phrase" Name="IN_THIS_TOPIC" -->In This Topic<!--DXMETADATA end--></span>
                </div>
            </div>
        </div>
    </div>

    <div id="i-toc-outer-container" class="i-content-width-container">
        <div id="i-toc-container">
            <div id="i-toc-content" class="i-fixed-to-top">
                <div class="i-toc-content-scroll-container">
                    <div id="i-dynamic-toc-container"><ul id="i-dt-root"></ul></div>
                </div>
            </div>
        </div>
    </div>

    <div id="i-body-content-container" class="i-content-width-container">
        <div id="i-body-content" class="i-body-content">
            <div class="i-page-title"><div class="i-page-title-text"><!--DXMETADATA start type="ItemTitle" -->Release Notes for Version 12.1.0<!--DXMETADATA end--></div></div>
            <div class="i-in-this-topic-container">
                <span class="i-action-group-heading"><!--DXMETADATA start type="Phrase" Name="IN_THIS_TOPIC" -->In This Topic<!--DXMETADATA end--></span>
            </div>
            <!--DXMETADATA start type="TopicSection" name="BodyText"--><h1>Enhancements from the Previous Release</h1>

<p>The following features have been added with this version of the product.</p>

<ul>
    <li><a href="https://help.grapecity.com/spread/SpreadSheets12/webframe.html#UsingDouble-clickforAutoFill.html" target="_blank">Auto Fill using double-click</a>&nbsp;is now supported. Users can automatically fill the cells with data (dates, numbers&nbsp;and formulas etc.)&nbsp;down an entire column via the double clicking the fill handle.</li>

    <li><a href="https://help.grapecity.com/spread/SpreadSheets12/webframe.html#NumberandDateFormat.html" target="_blank">With extensive support for&nbsp;Number and Date format</a>, users can choose to display numbers and dates just like in Excel. The data in the&nbsp;cells&nbsp;is displayed dynamically based on the width of&nbsp;the columns.&nbsp;</li>

    <li><a href="https://help.grapecity.com/spread/SpreadSheets12/webframe.html#UsingtheStatusBar.html" target="_blank">Using Excel-like Status Bar</a>, users can get important spreadsheet&nbsp;information&nbsp;such as&nbsp;the selected cell mode, average, cell count, numerical count, maximum, minimum and the sum of the selected cells along with zoom slider and&nbsp;zoom panel.</li>
</ul>

<h1>Changes from the Previous Release</h1>

<p>This version of the product has the following changes.</p>

<ul>
    <li><a href="https://help.grapecity.com/spread/SpreadSheets12/webframe.html#datavalidate.html" target="_blank">With improved data validation</a>, users&nbsp;can highlight invalid data using three different types of highlight types (circle, dog-ear and icon) and six different types of highlight positions (topLeft, topRight, bottomRight, bottomLeft, outsideLeft and outsideRight).</li>

    <li>Subtotal function is now supported in SpreadJS Designer. Users can&nbsp;find this option&nbsp;in&nbsp;<a href="https://help.grapecity.com/spread/SpreadSheets12/webframe.html#spdesigndatatab.html" target="_blank">the Data Tab</a>.</li>

    <li><a href="https://help.grapecity.com/spread/SpreadSheets12/webframe.html#designermenu.html" target="_blank">New Clipboard options</a> "Values &amp; Formatting" and "Formulas&nbsp;&amp; Formatting" have been introduced to improve the clipboard paste behavior.</li>

    <li>New Era Japanese Year&nbsp;and Formatting is now supported<a href="http://help.grapecity.com/spread/SpreadSheets12/webframe.html#SetChartColorwithTransparency.html" target="_blank">.</a></li>

    <li>Blank Table Style is now supported in SpreadJS Designer.</li>
</ul>

<h1>Resolved Issues</h1>

<p>The following issues have been resolved since the last release.</p>

<ul>
    <li>When users insert columns in a table, the generated column names are completely accurate. [271140]</li>

    <li>The VALUE function can now parse special date strings to the corresponding date values. [254790]</li>

    <li>Now, appropriate consistency is maintained while formatting input values to numbers as compared to Excel. [271306]</li>

    <li>The special custom names now&nbsp;work correctly. [271304]</li>

    <li>The TopRowChanged event&nbsp;can now be triggered in IPAD every time the top row gets modified. [266104]</li>

    <li>The time validator in Excel now works in SpreadJS as well&nbsp;without any issues. [266825]</li>

    <li>The result of the formula AVERAGE DIV/0 in SpreadJS is&nbsp;now&nbsp;same as the result&nbsp;in Excel. [267401]</li>

    <li>The zoom ratio of the image is&nbsp;same as&nbsp;to the zoom ratio of the row or column. [267455]</li>

    <li>While working with combo box celltype, no memory leak issues are encountered now. [266254]</li>

    <li>The filter dialog now opens quickly. [265694]</li>

    <li>The RangeChanged event action names are now displayed correctly. [264987]</li>

    <li>After exporting a spreadsheet with filters, Excel 2013 works smoothly without any issues. [266100]</li>

    <li>The performance&nbsp;of CopyTo and clipboardPaste command has been enhanced. [266258]</li>

    <li>The Scrollbar position now synchronises correctly while switching from an outline sheet to a normal sheet. [266325]</li>

    <li>The dynamicSize of the shape now gives accurate and valid results while switching between&nbsp;sheets. [266402]</li>

    <li>The format result of "0.000000000000000%" in SpreadJS&nbsp;is&nbsp;now accurate and exactly same as produced in Excel. [266481]</li>

    <li>After exporting spreadsheets to Excel, the outline expand status is&nbsp;now displayed correctly. [266539]</li>

    <li>The&nbsp;fromJSON method can now load the old version of json data correctly. [266568]</li>

    <li>The secondary axis of the chart&nbsp;can&nbsp;be exported to Excel without any issues. [267048]</li>

    <li>The cell padding now works correctly with conditional formatting rule (and on the condition format icon). [267140]</li>

    <li>The superscript and subscript positions are now displayed just like in Excel. [267369]</li>

    <li>Upon deselecting the chart, the&nbsp;data range doesn't get highlighted now. [267047]</li>

    <li>The chart is not deleted when all the axis groups of the series of a chart are changed. [267766]</li>

    <li>The position of the context menu-subitems are now displayed correctly. [267387]</li>

    <li>The calculation of the&nbsp;QUARTILE.EXC function now produces accurate results. [268025]</li>

    <li>100% Stacked Chart&nbsp;now renders&nbsp;correctly when&nbsp;chart series are plotted on the secondary axis. [267785]</li>

    <li>The Data Filters now work correctly and do not&nbsp;shift down when rows are added to the spreadsheet. [267933]</li>

    <li>The floating objects are&nbsp;now displayed correctly, without any issues. [267662]</li>

    <li>The negative numbers now display negative signs when the number format is set to [=0]"";General. [267663]</li>

    <li>The cell borders of the empty cells are now displayed correctly. [267149]</li>

    <li>The %formattor works accurately when exporting spreadsheets to&nbsp;Excel. [267035]</li>

    <li>Now, SpreadJS doesn't allow users to add or paste tables to a range that already contains a table at&nbsp;the same place. [267454]</li>

    <li>The PDF417 barcode containing specific data can now scan all the information correctly without any issues. [269192]</li>

    <li>The formatter in SpreadJS&nbsp;is now displayed&nbsp;similar to the formatter in&nbsp;Excel. [269201]</li>

    <li>The lookup and reference formulas like VLOOKUP(A4,A1:B3,2) now calculate accurate results which are same as in Excel. [269185]</li>

    <li>Now, the single quote (') can also be used in worksheet names just like in Excel. [268811]</li>

    <li>Excel files with custom formatting&nbsp;can be&nbsp;opened without any issues. [269501]</li>

    <li>After importing ssjson files into SpreadJS, users are now able to export spreadsheets to&nbsp;Excel. [269535]</li>

    <li>While working with SpreadJS Web Designer, the decimal points in the empty cell formula can now be&nbsp;increased or decreased without any issues. [270157]</li>

    <li>While exporting files in SpreadJS Designer,&nbsp;the focus doesn't get changed. [269958]</li>

    <li>While using the HitTest feature, the shapes can now be detected correctly at all the&nbsp;positions on the screen. [269392]</li>

    <li>After exporting with -1 row or column in the filter range, the Excel can now be opened without any issues. [270136]</li>

    <li>SpreadJS allows users to import cell formats even if the Excel file is generated using a third-party control. [270018]</li>

    <li>After importing Excel files, the chart series name displays correctly. [269622]</li>

    <li>The time computation now works correctly. [269867]</li>

    <li>The combo chart&nbsp;with&nbsp;similar series names render correctly. [269719]</li>

    <li>When the chart object loses focus, the chart series gets deselected automatically. [269720]</li>

    <li>When the cell referenced by the formula contains #DIV/0, the AVERAGEIF formula behaves in consistence with Excel. [269648]</li>

    <li>The shape cursor now works correctly when a shape stacks up with a floating object or&nbsp;grafted on a&nbsp;picture. [269383]</li>

    <li>Now, the spaces are&nbsp;not&nbsp;lost while exporting to&nbsp;PDF. [269371]</li>

    <li>The position of the connector shapes&nbsp;are not&nbsp;shifted after exporting to&nbsp;Excel. [269350]</li>

    <li>The performance of the export to PDF operations has been enhanced and optimized to a considerable extent&nbsp;for the export to PDF operations. [269170]</li>

    <li>Now, SpreadJS allows users to set the font style and font family for the pasted or dragged cell. [270112]</li>

    <li>The cell format is now displayed correctly after the import operation is executed. [270846]</li>

    <li>Now, the Line shape position&nbsp;remains intact&nbsp;while importing and exporting JSON files. [270527]</li>

    <li>While exporting spreadsheets, the "Sumifs" formula doesn't get modified to "_xlfn.SUM_xlfn.IFS" and works as expected. [270478]</li>

    <li>While executing the import operation on spreadsheets, the RichText feature in SpreadJS&nbsp;now works correctly. [270386]</li>

    <li>The format "[m]" now works correctly in the&nbsp;function text. [270289]</li>

    <li>Pie charts with categories having exactly similar names can now be&nbsp;rendered correctly. [270431]</li>

    <li>The&nbsp;firstPageNumber() method of PrintInfo class now works correctly and the pagecount is increased or decreased in the header and footer. [270365]</li>

    <li>Now, the&nbsp;font style doesn't&nbsp;change and works as expected&nbsp;even after the&nbsp;Excel files&nbsp;are imported into SpreadJS. [270439]</li>

    <li>The custom separators including the ArrayListSeparator are now replaced&nbsp;correctly in the formula and work as expected. [270153]</li>

    <li>Now, the font color remains intact after importing Excel files. [270447]</li>

    <li>After the cell is set to the conditional format, the border line now remains intact and displays correctly. [270483]</li>

    <li>Now, the spreadsheets containing charts doesn't freeze after executing the undo operation. [270506]</li>

    <li>The size&nbsp;of the images and pictures now remains intact&nbsp;after exporting to Excel. [270000]</li>

    <li>The worksheet&nbsp;names&nbsp;in SpreadJS&nbsp;12.0 and above can now be saved correctly. [270514]</li>

    <li>Now, the transparency for the&nbsp;pie chart slices can be set&nbsp;using the 'backColorTransparency' property. [269888]</li>

    <li>Now, the fonts in the spreadsheet&nbsp;remain intact&nbsp;while setting the&nbsp;conditional formatting. [270612]</li>

    <li>SpreadJS chart animation remains intact during the&nbsp;JSON export and import operations. [269829]</li>

    <li>After the Excel document in the attachment is imported into SpreadJS, the Y axis now remains intact and doesn't&nbsp;move from the left position to the right. [270796]</li>

    <li>The AVERAGEA formula now calculates accurate result which is same as in Excel. [270890]</li>

    <li>The size and location of the picture is displayed correctly. [269174]</li>

    <li>The performance is enhanced for&nbsp;setting cell format for a large number of cells (&gt;1000 cells). [270927]</li>

    <li>The format of the PieChart data labels remains intact while importing Excel files. [270996]</li>

    <li>The exported JSON files now contain correct style information. [268671]</li>

    <li>After importing Excel document into SpreadJS, the floating objects now behave correctly. [271004]</li>

    <li>The formulas now work correctly and calculate accurate results. [263729]&nbsp;&nbsp;</li>

    <li>Pasting "#,##0;[Red](#,##0)" format from Excel is now calculated as a number. [259452]</li>

    <li>Now there are no issues with rendering licenses in SpreadJS Designer. [270445]</li>

    <li>While copying the&nbsp;DataValidation to other sheets, Spreadjs will now&nbsp;paste to another location. [270174]</li>

    <li>The settings of&nbsp;fitPagesTall property are&nbsp;now exported to&nbsp;Excel without any issues. [269513]</li>

    <li>In the SpreadJS Designer, the list that displays while clicking on the search results is now located correctly. [270131]</li>

    <li>Now there are no issues while printing PDF files when the&nbsp;printInfo().columnEnd() is set to a particular column. [270086]<a id="bug" name="bug"></a></li>

    <li>The AVERAGEIF formula now calculates accurate result just like in Excel, even if the cell containing the formula is&nbsp;empty. [270191]</li>

    <li>Now, the unfilter operation in SpreadJS works as expected and&nbsp;fires the&nbsp;RangeFiltering&nbsp;and the&nbsp;RangeFiltered events without any issues. [270195]</li>

    <li>When the&nbsp;filter range is (0,0,x,x), the columnHeadersAsFrozenRows property behaves as expected. [270237]</li>

    <li>For selected cells, the decimal increase or decrease now&nbsp;works correctly. [270542]</li>

    <li>Chart - Switch Row/Column break data binding with row alias. [270601]</li>

    <li>The Concatenate formula now caclulates accurate results. [271069]</li>

    <li>The Combo Chart&nbsp;can now be imported properly from Excel into SpreadJS. [264215]</li>

    <li>The setColumnDataFormula and&nbsp;insert row operations can now propagate formulas without any issues. [270811]</li>

    <li>The cross worksheet formulas are now updated correctly while executing the undo process. [270060]</li>

    <li>The cross worksheet formula are now updated correctly while executing the drag-and-drop operations. [270055]</li>

    <li>SpreadSheetGear can now open the Excel files generated by SpreadJS. [269354]<br />
    <br /></li>
</ul><!--DXMETADATA end-->
            <a name="seealsobookmark"></a>
            <!--DXMETADATA start type="FilteredItemList" scrap="CATEGORISED_LINKS" namespace="linkcategory" source="Item" filter="" NoHeader="True" NoFooter="True" format="%%replaceinquotes:value=false%%%%scrap:name=_COLLAPSIBLE_HEADER,idprefix=seealso,caption=""%%phrase:name=SeeAlso%%%%designlist:tagidentifier=seealso,itemtype=See Also%%""%%%%filtereditemlist%%</div>"--><!--DXMETADATA end-->
            
            <div id="i-footer-content" class="i-footer-content">
                <!--DXMETADATA start type="Scrap" condition="communityenabled" name="_COMMUNITY_FOOTER" --><!--DXMETADATA end -->
<!--DXMETADATA start type="Variable" name="CopyrightNotice" format="<p>&nbsp;</p><p>&nbsp;</p><hr style=""height: 1px"" /><p>%%variable%%</p>" --><p>&nbsp;</p><p>&nbsp;</p><hr style="height: 1px" /><p><p>Copyright © 2019 GrapeCity, Inc. All rights reserved.</p>
<p><a href="https://www.grapecity.com/forums/spread-sheets" target="_blank">Product Support Forum</a> | <a href="javascript:window.print()">Print this page</a></p>
<ul class="social">
<li><a href="https://www.facebook.com/GrapeCityUS/" target="_blank" class="facebook">&nbsp;</a></li>
<li><a href="https://twitter.com/GrapeCityUS" target="_blank" class="twitter">&nbsp;</a></li>
<li><a href="https://www.linkedin.com/company/grapecity" target="_blank" class="linkedin">&nbsp;</a></li>
</ul>
</p><!--DXMETADATA end -->
<!--DXMETADATA start type="Variable" name="FeedbackLink" format="" --><!--DXMETADATA end-->
            </div>
        </div>
    </div>
        
    <script type="text/javascript">
        $(function () {
            var documentInstance = new Innovasys.Content.Document(document.body);
            documentInstance.load();
        });
    </script>
</body>
</html>
